package com.xz.group12306.business.dao;

import java.sql.SQLException;
import java.util.List;

import com.xz.group12306.domain.Ticket;
import com.xz.group12306.domain.User;

public interface ManagerDao {
	/**
	 * 通过用户信息查询用户 张爱文
	 */
	User findUser(User user) throws SQLException;

	/**
	 * 更新用户信息 张爱文
	 */
	boolean updateUser(User one) throws SQLException;

	/**
	 * 修改更新数据需要用到的方法 根据用户信息查询用户 张爱文
	 */
	List<User> findUserLists(User one) throws SQLException;

	/**
	 * 查询所有用户的信息 张爱文
	 */
	List<User> findAll();
	
	

	/**
	 * 删除用户 顾赛男
	 */
	public void delUser(int UserID);

	/**
	 * 增加用户 顾赛男 整合
	 */
	void addUser(User user) throws SQLException;// 管理员增加用户

	/**
	 * 查询 赛男
	 * @throws SQLException--废弃
	 */
	List<User> findUserList(User one, int page, int rows) throws SQLException;

	
	/**
	 * 查询用户  赛男  整合
	 * 
	 * 获取指定页用户信息列表，通过分页SQL语句实现
	 * @param pageSize，每页显示信息条数
	 * @param rowNum，需要获取的页数
	 * @param one，查询条件
	 * @return 用户信息列表，List[User]，若无满足条件则列表为空
	 * @throws SQLException
	 */
	List<User> getUserList(int pageSize, int start, User one) throws SQLException;//获取数据库的全部用户，并分页
	

	/**
	 * 管理员增加车票信息   张爱文  
	 */
	void addTicket(Ticket ticket) throws SQLException;// 管理员增加用户
	
	/**
	 * 查询所有车票的信息 张爱文
	 */
	List<Ticket> findAllTicket() throws SQLException;
	
	/**
	 * 根据用户信息查询用户记录 顾赛男
	 */
	public List<Ticket> findTicketList(Ticket ticket, int page, int rows) throws SQLException;

	/**
	 * 删除车票  顾赛男
	 */
	public void delTicket(int TicketID);
	
	/**
	 * 根据车票的id查询车票信息
	 */
	public Ticket findTicket(int TicketID) throws SQLException;
	
	/**
	 * 修改车票信息
	 */
	public void updateTicket(Ticket ticket);

	List<User> findAllUsers() throws SQLException;
}

